package com.chinaisafe.user.service;

import com.chinaisafe.user.entity.SysDept;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaisafe.user.vo.request.SysDeptReqVO;
import com.chinaisafe.user.vo.response.SysDeptRespVO;
/**
 * SysDeptService
 * Description：部门服务类
 *
 * @author xuefu.shu
 * @date 2024-07-12 10:39:32
 */
public interface SysDeptService extends IService<SysDept> {
     /**
      * 根据条件获取部门分页列表
      * @param sysDeptReqVO 筛选参数
      * @return Page<SysDeptRespVO> 分页对象
      * @author xuefu.shu
      * @date  2024-07-12 10:39:32
      */
     IPage<SysDeptRespVO> getPageList(SysDeptReqVO sysDeptReqVO);

     /**
      * 新增部门
      * @param sysDeptReqVO 新增参数
      * @return SysDeptRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-12 10:39:32
      */
      SysDeptRespVO add(SysDeptReqVO sysDeptReqVO);

     /**
      * 根据id编辑部门
      * @param sysDeptReqVO 修改参数
      * @return SysDeptRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-12 10:39:32
      */
      SysDeptRespVO update(SysDeptReqVO sysDeptReqVO);

     /**
      * 新增或修改部门
      * @param sysDeptReqVO 编辑修改参数
      * @return SysDeptRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-12 10:39:32
      */
      SysDeptRespVO addOrUpdate(SysDeptReqVO sysDeptReqVO);

     /**
      *  根据id获取部门详情信息
      * @param sysDeptId 数据id
      * @return SysDeptRespVO 响应参数
      * @author xuefu.shu
      * @date 2024-07-12 10:39:32
      */
      SysDeptRespVO getDetailById(Long sysDeptId);

     /**
      * 根据id删除部门
      * @param sysDeptIds id数组
      * @author xuefu.shu
      * @date 2024-07-12 10:39:32
      */
     void deleteByIds(Long[] sysDeptIds);
}
